1. Field of the Invention
The present invention relates to signal processing and more particularly relates to look-ahead delta-sigma modulators having quantization error based output selection to minimize quantization noise.
2. Description of the Related Art
A few signal processing systems implement look-ahead delta-sigma modulators in an attempt to obtain superior input/output signal fidelity by minimizing long term error. “Delta-sigma modulators” are also commonly referred to using other interchangeable terms such as “sigma-delta modulators”, “delta-sigma converters”, “sigma delta converters”, and “noise shapers”. FIG. 1 depicts a prior art signal processing system 100 having a look-ahead delta-sigma modulator 102.
The signal source 102 provides an input signal to preprocessing components 104. Preprocessing components include an analog-to-digital converter (“ADC”) and oversampling components to generate a k-bit, digital input signal x(n). For audio applications, x(n) generally represents a signal sampled at 44.1 kHz times an oversampling ratio, such as 64:1. Look-ahead modulator 106 quantizes input signal x(n) and shapes the quantization noise so that most of the quantization noise is moved out of the signal band of interest, e.g. approximately 0–20 kHz for audio applications. Each output signal y(n) (also referred to herein as an “output value”) generally has one of two values selected from the set {+Δ/2, −Δ/2} with “Δ” representing the full swing of y(n). (For convenience, Δ/2 will be represented as +1, and −Δ/2 will be represented as −1.). The output signal y(n) can be processed further and, for example, used to drive an audio sound system or can be recorded directly onto a storage medium.
FIG. 2 depicts a schematic representation of prior art look-ahead delta-sigma modulator 106 with a look-ahead depth of M. Table 1 describes an embodiment of the symbols used in FIG. 2.
TABLE 1SymbolDefinitionx(n)The nth discrete input signal.XtInput signal vector at a time t.y(n)The nth discrete output signal.YDiThe ith output delayed by onecandidate vector.CiThe ith cost value vector = H(Di(z)).MLook-ahead depth.NN = kM = The number of outputsignal candidate sets underconsideration, and k = number ofpossible values for y(n).ii is selected from the set {0, 1, 2, . . .N − 1}.C(2)iThe ith cost value power.C(2)minThe minimum cost value power attime t.
The look-ahead depth M refers to the dimension of each delayed output candidate vector YDi used to determine output signal y(n). For time t, a negative delayed output candidate vector −YDi, i∈{0,1,2, . . . , N−1} and the input vector Xt are inputs to noise shaping filter 202(i). For a look-ahead depth of M and y(n)={−1, +1}, and without pruning output candidates, each of the N delayed output candidate vectors contains a unique set of elements. Each noise-shaping filter 202(i) of look-ahead delta-sigma modulator 106 uses a common set of filter state variables for time t during the calculations of respective cost value vectors Ci. Filter 202 maintains the actual filter state variables used during the calculation of each y(n). The state variables are updated with the selected y(n) output value. Loop filter 202 processes Xi and −Yi to produce an error value, which in this embodiment is referred to as cost value vector Ci. Cost value vector Ci, and, thus, each element of cost value vector Ci is a frequency weighted error value. In some embodiments of look-ahead delta-sigma modulator 106, input signal vector xt and delayed output candidate vectors YDi are also used as direct inputs to filter 202(i)
Quantizer error and output generator 203 includes two modules to determine y(n). The cost function minimum search module 204 computes the cost value power, Ci(2), of each cost value vector Ci in accordance with Equation 1, and determines the minimum cost value power at time t.
                              C          i                      (            2            )                          =                              ∑                          t              =              1                                      t              =              M                                ⁢                                          ⁢                                                    [                                  c                  t                                ]                            2                        .                                              Equation        ⁢                                  ⁢        1            “ct” represents a cost value for time t, t=1 through M, in the cost vector Ci. Thus, the cost function minimum search module 204 of quantizer 203 attempts to minimize the energy out of loop filter 202. Minimizing the energy out of loop filter 202 effectively drives the input Ci to a small value, which effectively results in a relatively high loop gain for look-ahead delta-sigma modulator 106 and, thus, modifies the noise shaping transfer function in an undesirable way.
The y(n) selector module 206 selects y(n) as the leading bit of Yi where Ci(2)min represents the minimum cost value power.
For example, if M=2 and y∈{−1,+1}, then N=4, i∈{0,1,2,3}, and Table 2 represents each of the Y output candidate vectors and Xt.
TABLE 2Y1Y2Y3Y4Xtyt0011x(n)yt+10101x(n + 1)
If c3(2) represents the minimum cost value power, then selector module 206 selects y(n)=1 because the first bit in output candidate vector Y3 (the output candidate vector associated with C3(2)), equals 1. If C1(2) represents the minimum cost value power, then selector module 206 selects y(n)=0 because the first bit in output candidate vector Y1 (the output candidate vector associated with C1(2)), equals 0.
Conventional research in look-ahead modulators primarily involves two threads. The first are the works of Hiroshi Kato, “Trellis Noise-Shaping Converters and 1-bit Digital Audio,” AES 112th Convention, 2002 May 10–13 Munich, and Hiroshi Kato, Japanese Patent JP, 2003-124812 A, and further refinements described in Harpe, P., Reefman D., Janssen E., “Efficient Trellis-type Sigma Delta Modulator,” AES 114th Convention, 2003 Mar. 22–25 Amsterdam (referred to herein as “Harpe”); James A. S. Angus, “Tree Based Look-ahead Sigma Delta Modulators,” AES 114th Convention, 2003 Mar. 22–25 Amsterdam; James A. S. Angus, “Efficient Algorithms for Look-Ahead Sigma-Delta Modulators,” AES 155th Convention, 2003 Oct. 10–13 New York; Janssen E., Reefman D., “Advances in Trellis based SDM structures,” AES 115th Convention, 2003 Oct. 10–13 New York. This research targets solving the problems of 1-bit encoding of audio data for storage without using the steep anti-alias filters associated with pulse code modulation “PCM.” The advent of super audio compact disc “SACD” audio storage, with its moderate oversampling ratios (32 or 64), motivated this work.
The second primary thread of look-ahead modulator research involves pulse width modulation (“PWM”) amplifiers based on delta-sigma modulators combined with digital PWM modulation stages. The principal researchers have been Peter Craven and John L. Melanson. In U.S. Pat. No. 5,784,017 entitled “Analogue and Digital Converters Using Pulse Edge Modulations with Non-Linear Correction,” inventor Peter Craven (“Craven”), which is incorporated herein by reference in its entirety, Craven described the use of look-ahead in delta-sigma modulators. The purpose of Craven was to ensure stability in alternating edge modulation, an inherently difficult modulation mode to stabilize. In the PWM case, the delta-sigma modulator is operating at a low oversampling ratio (typically 4–16), and quantization noise is a special problem.
Conventional technology has not proposed a reasonable way to find the closest matching output signal sets for each time t directly given that without pruning there are 2M possible reasonable combinations to search and the length of output signals Y[n] for a 1 minute signal is 60*44100*64 (i.e., 60 seconds, 44.1 kHz sampling frequency, and 64:1 oversampling ratio). Trellis searches, tree searches, and pruning have all been proposed as solutions to reducing the computation.
FIG. 3A depicts a model of a models filter 202 as a composite of two (2) transfer functions H1(z) and H2(z). The feedback of output candidate vector YDi introduces quantization noise 302 into the feedback loop of look-ahead modulator 106 but not into the input of look-ahead modulator 106. Thus, loop filter 202 can be modeled as having two separate transfer functions, H1(z) and H2(z). The noise transfer function (“NTF”) equals 1/[1+z−1*H2(z)]. The signal transfer function (“STF”) equals H1(z)/[1+z−1*H2(z)]. In some implementations, H1 and H2 are identical. In the general case, H1 and H2 differ. The choice of implementation affects mainly the STF. For most purposes, the NTF is the critical design criterion, making the choice of H1 less critical.
FIG. 3B represents a typical fifth (5th) order noise-shaping filter 300 with input x(n) and feedback y(n). Filter 300 represent one embodiment of filter 202 and can be applied to non-look-ahead and look-ahead delta-sigma modulators. The scale factors k and gain factors g are design choices. In one embodiment, the k1 scale factor provides a unity gain for the first integrator stage 302. Equation 2 represents the transfer function H1(z):
                                          H            1                    ⁡                      (            z            )                          =                              1                                                                                                      (                                                                        -                          1                                                +                                                  z                                                      -                            1                                                                                              )                                        ⁢                                          (                                              1                        +                                                                              (                                                                                          -                                2                                                            +                              g1                                                        )                                                    ⁢                                                      z                                                          -                              1                                                                                                      +                                                  z                                                      -                            2                                                                                              )                                                                                                                                        (                                          1                      +                                                                        (                                                                                    -                              2                                                        +                            g2                                                    )                                                ⁢                                                  z                                                      -                            1                                                                                              +                                              z                                                  -                          2                                                                                      )                                                                                .                                    Equation        ⁢                                  ⁢        2            
Equation 2 represents the transfer function H2(z):
                                          H            2                    ⁡                      (            z            )                          =                                                                                                  k1                    -                                                                  (                                                                              -                            1                                                    +                                                      z                                                          -                              1                                                                                                      )                                            ⁢                                              (                                                  k2                          +                          k3                          ⁢                                                                                                          -                                                      k3z                                                          -                              1                                                                                +                                                                                                                                                                                                                                    (                                                  k4                          +                          k5                          ⁢                                                                                                          -                                                      k5z                                                          -                              1                                                                                                      )                                            ⁢                                              (                                                  1                          +                                                                                    (                                                                                                -                                  2                                                                +                                g1                                                            )                                                        ⁢                                                          z                                                              -                                1                                                                                                              +                                                      z                                                          -                              2                                                                                                      )                                                              )                                                                                                                                                                  (                                                                        -                          1                                                +                                                  z                                                      -                            1                                                                                              )                                        ⁢                                          (                                              1                        +                                                                              (                                                                                          -                                2                                                            +                              g1                                                        )                                                    ⁢                                                      z                                                          -                              1                                                                                                      +                                                  z                                                      -                            2                                                                                              )                                                                                                                                        (                                          1                      +                                                                        (                                                                                    -                              2                                                        +                            g2                                                    )                                                ⁢                                                  z                                                      -                            1                                                                                              +                                              z                                                  -                          2                                                                                      )                                                                                .                                    Equation        ⁢                                  ⁢        3            
Equation 3.
FIGS. 3C and 3D depict the respective NTF and STF pole-zero plots of filter 300. The NTF is a high-pass function with multiple zeros in the signal band, and the STF is an all-pole low-pass function.
FIG. 4 depicts the transfer function of H2(z) when the NTF is set to be a seventh (7th) order Butterworth filter with added NTF zeros. By minimizing sum of squares of the cost function elements ct, the transfer function H2(z) 402 does not maintain a smooth transition as 0 dB is approached. Rather a spike 404 occurs, which represents noise. This noise will be in the near out-of-band frequency region, which is undesirable as it makes reproduction more difficult.
Accordingly, although conventional look-ahead delta-sigma modulators demonstrate improved linearity over standard (non-look-ahead) delta-sigma modulators, as discussed in Harpe, page 5, Harpe also observes on page 5 that in all cases the signal-to-noise ratio of Trellis architecture look-ahead delta-sigma modulators is several dB worse when compared to standard delta-sigma modulators.